The Planning Domain Definition Language, or PDDL, is the lingua franca in the classical planning community. It was originally developed by the Artificial Intelligence Planning Systems 1998 Competition Committee for use in defining problem domains, and is essentially an expansion of STRIPS. It is not as expressive as some other languages which may be used for planning; however, this is by design, as the planning community wanted the language to be as simple and efficient as possible. Because it is intended for use in an international planning competition, development of the syntax and semantics of PDDL has been largely tied to various competitions. As a result, the development of planners which are able to execute PDDL code to search for plans has been somewhat piecemeal with respect to the formal language specification. That is, particular planners submitted to these competitions may only implement a subset of the features given in the language specification of PDDL. 

A particularly striking example of the conflict between the need for PDDL to be simple (so that it may be efficiently parsed) and the desire for it to be expressive may be found in the case of PDDL axioms. Axioms allow for the derivation of some derived predicates, whose value in there current state depends upon some basic predicates (under the closed-world assumption). In \cite{Thiebaux:2003ys}, it is argued that these axioms not only aid the expressiveness of the language, but also suggests that adding a reasonable implementation which could handle these axioms is beneficial for performance. In many of the domains we discuss in Section~\ref{sub:planning_domain_examples}, the ability to use these axioms could have significantly simplified our representation of the problem and domain.